TX11 - sfnt ÉLÉÉÉbÉVÉÖÉTÉCÉYÇÃïœçX
(98 îN 4 åé 12 ì˙)
Q: ëÂÇ´Ç» (128K Çí¥Ç¶ÇÈ) sfnt ÉtÉHÉìÉgÇ…ñ‚ëËǙdžÇËÇ‹Ç∑ÅBDZÇÍÇÁÇÃÉtÉHÉìÉgÇégÇ¡ÇΩÉeÉLÉXÉgÇÕ
Geneva Ç≈ï\é¶Ç≥ÇÍǃǵNjǧǩÅAëSÇ≠ï\é¶Ç≥ÇÍÇ‹ÇπÇÒÅBDZÇÍDžǬǢǃâΩÇ©å¥àˆÇΔévÇÌÇÍÇÈDZÇΔÇÕdžÇËÇ‹ÇπÇÒÇ©ÅB
A: écîOǻǙÇÁÅAǪÇÃí ÇËÇ≈Ç∑ÅBsfnt ÉäÉ\Å[ÉXÇ™ 128K ÇÊÇËLJëÂÇ´Ç¢ÇΔÅAFontManager
ÇÕǪÇÍÇëSïîÉçÅ[ÉhÇπÇ∏ÅA (TrueType ÉXÉPÅ[ÉâÇÃóvãÅÇ…âûÇ∂) ReadPartialResource Ç≈ïîï™Ç≤ÇΔÇ…ÉçÅ[ÉhǵNjÇ∑ÅBTrueType ÉXÉPÅ[ÉâÇÕÅAë¨ìxå¸è„ÇÃÇΩÇflÉtÉHÉìÉgÇÃÉtÉâÉOÉÅÉìÉgÇÉLÉÉÉbÉVÉÖǵNjÇ∑Ç™ÅAÉLÉÉÉbÉVÉÖÇÕÉuÅ[ÉgéûÇ…ÉVÉXÉeÉÄÉqÅ[ÉvÇ…äÑÇËïtÇØÇÁÇÍÇ‹Ç∑ÅBMac
OS 8.0 ÇÊÇËëOÇÕÅAÉLÉÉÉbÉVÉÖÉTÉCÉYÇÕ 10K Ç≈ǵÇΩÅBÉLÉÉÉbÉVÉÖÉTÉCÉYÇåàíËǵÇΩìñéûÇÃ
TrueType ÉtÉHÉìÉgÇ…ÇÕǪÇÍÇ≈è\ï™Ç≈ǵÇΩ (ǪǵǃÅATrueType ÉtÉHÉìÉgÇÕ 2MB RAM Çà Macintosh
Ç≈LJÉTÉ|Å[ÉgǵÇΩǩǡÇΩÇÃÇ≈Ç∑) ÅBǪÇÃä‘ÅAsfnt ÉtÉHÉìÉgÇÕÇ«ÇÒÇ«ÇÒï°éGÇ…Ç»ÇËÅAÉeÅ[ÉuÉãÇÕÇ«ÇÒÇ«ÇÒëÂÇ´Ç≠Ç»ÇËÅALJÇÕÇ‚
10K Ç≈ÇÕë´ÇËÇ»Ç≠ǻǡǃǵNjǢNjǵÇΩÅBǪǵǃÅAMac OS 8.0 Ç≈ÉLÉÉÉbÉVÉÖÉTÉCÉYÇÕ 48K Ç…Ç»ÇËNjǵÇΩÅBǵǩǵÅADZÇÍÇ≈LJîÒèÌÇ…ì¡éÍÇ»ÉtÉHÉìÉg
(ó·Ç¶ÇŒÅAWorldScript II Ç™ÉCÉìÉXÉgÅ[ÉãÇ≥ÇÍǃǢǻǢèÍçáÇ…égópÇ∑ÇÈ 2 ÉoÉCÉgÉXÉNÉäÉvÉgóp
sfnt ǻǫ) Ç…ÇÕè\ï™Ç≈ÇÕǻǢèÍçáǙdžÇËÇ‹Ç∑ÅBçKÇ¢ÅADZÇÃñ‚ëËÇâåàǵÅAsfnt ÇÃÉtÉâÉOÉÅÉìÉgÉLÉÉÉbÉVÉÖÇÃÉTÉCÉYÇïœçXÇ∑ÇÈï˚ñ@ǙdžÇËÇ‹Ç∑ÅBDZÇÃïœçXÇÕÅAÇ≈Ç´ÇÍÇŒÅAÉVÉXÉeÉÄãNìÆéûÇ…Ç»ÇÈÇ◊Ç≠ëÅÇ≠çsǡǃÇ≠ÇæÇ≥Ç¢ÅBDZÇÃÇΩÇflÅAè¨Ç≥Ç»ÉGÉNÉXÉeÉìÉVÉáÉìÇópà”ǵǃÅAà»â∫ÇÃÉRÅ[ÉhÇ≈ïœçXÇçsǡǃÇ≠ÇæÇ≥Ç¢ÅB
// ÉtÉ@ÉCÉã: FontFix.c
//
// InitializePartialFonts() Ç≈ìKêÿÇ»ÉTÉCÉYÇéwíËÇ∑ÇÈÅB
//
// ÉVÉXÉeÉÄÇà kMinimalPartialFontZoneSize ÇÕ 10 Å~ 1024 ÇæÇ¡ÇΩÇ™ÅA
// ǪÇÍÇ≈ÇÕïsè\ï™ÅB
// PartialFontZone Ç™Ç∑Ç≈Ç…è\ï™Ç…ëÂÇ´Ç¢ÉVÉXÉeÉÄÇ≈ÇÕÅA
// InitializePartialFonts() ÇÕâΩLJǵǻǢÅB
//
// ä˘ë∂Çà PartialFontZone Ç™êVǵǢ kMinimalPartialFontZoneSize ÇÊÇËLJ
// è¨Ç≥Ç¢èÍçá (Ç‹ÇΩÇÕÅAëSÇ≠ǻǢèÍçá) ÇÃÇ›ÅAInitializePartialFonts
// ÉãÅ[É`ÉìÇÕêVǵǢÉTÉCÉYÇäÑÇËìñǃÅAä˘ë∂ÇÃLJÇÃÇ (LJǵdžÇÍÇŒ) îjä¸Ç∑ÇÈÅB
#include <Types.h>#include <ConditionalMacros.h>#include <Resources.h>
enum { kMinimalPartialFontZoneSize = 0x0000C000, // 48K
kMaximalPartialFontZoneSize = 0x00080000 // 512K
};
extern pascal OSErr InitializePartialFonts (UInt32 partialFontZoneSize)
THREEWORDINLINE(0x303C, 0x000F, 0xA854);
//-------------------------------------------
void main(void)
{
UInt32 size = kMinimalPartialFontZoneSize; // default
Handle h;
// Debugger();
h = GetResource('pfcs', 0);
if (h != NULL)
{
size = **(UInt32**)h;
if (size < kMinimalPartialFontZoneSize)
size = kMinimalPartialFontZoneSize;
else if (size > kMaximalPartialFontZoneSize)
size = kMaximalPartialFontZoneSize;
}
(void)InitializePartialFonts(size);
}
-- Ingrid Kelly
devsupport@apple.com
|